ShrinkwrapBeanDeploymentArchiveImpl{
  this.classLoader=new ShrinkWrapClassLoader(archive.getClass().getClassLoader(),archive);
}
getArchive{ }
getClassLoader{ }
getBeansXml{
  List<URL> beanClasses=new ArrayList<URL>();
    try {
      beanClasses.add(new URL(null,"archive://" + entry.getKey().get(),new URLStreamHandler(){
        @Override protected java.net.URLConnection openConnection(        URL u) throws java.io.IOException {
          return new URLConnection(u){
            @Override public void connect() throws IOException {
            @Override public InputStream getInputStream() throws IOException {
              return entry.getValue().getAsset().openStream();
 catch (    Exception e) {
  return beanClasses;
}
openConnection{
  return new URLConnection(u){
    @Override public void connect() throws IOException {
}
connect{ }
getInputStream{
  return entry.getValue().getAsset().openStream();
}
getBeanClasses{
  List<Class<?>> beanClasses=new ArrayList<Class<?>>();
  Map<ArchivePath,Node> classes=archive.getContent(Filters.include(".*\\.class"));
    for (    Map.Entry<ArchivePath,Node> classEntry : classes.entrySet()) {
      Class<?> loadedClass=getClassLoader().loadClass(getClassName(classEntry.getKey()));
      beanClasses.add(loadedClass);
 catch (  ClassNotFoundException e) {
  return beanClasses;
}
getBeanDeploymentArchives{
  return Collections.emptySet();
}
getEjbs{
  return Collections.emptySet();
}
getId{
  return archive.getName();
}
getServices{
  return serviceRegistry;
}
getClassName{
  if (className.charAt(0) == '/') {
    className=className.substring(1);
  className=className.replaceAll("\\.class","");
  className=className.replaceAll("/",".");
  return className;
}
as{
  return getArchive().as(clazz);
}
